@echo off
chcp 65001 >nul
title 重置数据库

echo ========================================
echo   警告: 重置数据库
echo ========================================
echo.
echo 此操作将:
echo   1. 删除现有数据库文件
echo   2. 删除迁移文件
echo   3. 重新创建数据库
echo   4. 初始化基础数据
echo.
echo [警告] 所有数据将丢失！
echo.

set /p confirm="确认重置数据库？请输入 YES 继续: "
if not "%confirm%"=="YES" (
    echo 已取消
    pause
    exit /b 0
)

echo.
echo [1/5] 备份数据库...
if exist "db.sqlite3" (
    set backup_name=db.sqlite3.backup.%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
    set backup_name=%backup_name: =0%
    copy db.sqlite3 "!backup_name!"
    echo [✓] 已备份到: !backup_name!
) else (
    echo [○] 数据库文件不存在，跳过备份
)

echo.
echo [2/5] 删除数据库文件...
if exist "db.sqlite3" (
    del db.sqlite3
    echo [✓] 已删除数据库文件
) else (
    echo [○] 数据库文件不存在
)

echo.
echo [3/5] 删除迁移文件...
if exist "Server\migrations" (
    for %%f in (Server\migrations\0*.py) do (
        del "%%f"
        echo [✓] 已删除: %%f
    )
) else (
    echo [○] 迁移文件不存在
)

echo.
echo [4/5] 创建数据库迁移...
python manage.py makemigrations
if %errorlevel% neq 0 (
    echo [✗] 创建迁移失败
    pause
    exit /b 1
)

python manage.py migrate
if %errorlevel% neq 0 (
    echo [✗] 执行迁移失败
    pause
    exit /b 1
)

echo.
echo [5/5] 初始化数据...
python init_data.py
if %errorlevel% neq 0 (
    echo [✗] 初始化数据失败
    pause
    exit /b 1
)

echo.
echo ========================================
echo   数据库重置完成！
echo ========================================
echo.
echo 管理员账号:
echo   手机号: 13800138000
echo   密码: admin123
echo.
pause

